Information processing apparatus, information processing method, program, and information processing system

ABSTRACT

Provided is an information processing apparatus including an image acquisition unit for acquiring a real space image including an image of another apparatus, a coordinate system generation unit for generating a spatial coordinate system of the real space image acquired by the image acquisition unit, and a transmission unit for transmitting spatial information constituting the spatial coordinate system generated by the coordinate system generation unit to the other apparatus sharing the spatial coordinate system.

CROSS REFERENCES TO RELATED APPLICATIONS

The present invention contains subject matter related to Japanese PatentApplication JP 2009-260977 filed in the Japanese Patent Office on Nov.16, 2009, the entire contents of which being incorporated herein byreference.

TECHNICAL FIELD

The present invention relates to an information processing apparatus, aninformation processing method, a program, and an information processingsystem.

BACKGROUND ART

Recently, technology of superimposing virtual information on real spaceinformation of a photographed image and the like and displaying thesuperimposed information has been performed as a part of augmentedreality technology. For example, it is possible to read a predeterminedmark and the like included in a photographed image, superimpose virtualinformation corresponding to the mark on a real space image, and displaythe superimposed information (for example, Patent Literature 1).

CITATION LIST Patent Literature

-   Patent Literature 1: Japanese Unexamined Patent Application    Publication No 2008-510254

SUMMARY OF INVENTION Technical Problem

However, in Patent Literature 1, since the virtual information isdisplayed using the mark, the virtual information may not besuperimposed and displayed when the mark does not exist, and the virtualinformation may not be shared among a plurality of users.

The present invention is made in view of the above-described issue, andaims to provide a novel and modified information processing apparatus,an information processing method, a program, and an informationprocessing system, which enable a virtual space to be shared by otherapparatuses by detecting the position information of the otherapparatuses.

Solution to Problem

According to an aspect of the present invention, in order to achieve theabove-described object, there is provided an information processingapparatus including: an image acquisition unit for acquiring a realspace image including an image of another apparatus; a coordinate systemgeneration unit for generating a spatial coordinate system of the realspace image acquired by the image acquisition unit; and a transmissionunit for transmitting spatial information constituting the spatialcoordinate system generated by the coordinate system generation unit tothe other apparatus sharing the spatial coordinate system.

Furthermore, the information processing apparatus may include anacquisition unit for acquiring a spatial coordinate of the otherapparatus, a spatial coordinate of its own apparatus, and an angle of avector connecting the spatial coordinate of the other apparatus to thespatial coordinate of its own apparatus, and the transmission unit maytransmit the other spatial coordinate, the spatial coordinate of its ownapparatus, and the angle of the vector to the other apparatus as thespatial information.

Furthermore, the acquisition unit may acquire a rotation angle of thespatial coordinate system from the angle of the vector connecting thespatial coordinate of the other apparatus to the spatial coordinate ofits own apparatus, and the transmission unit may transmit the spatialinformation including the rotation angle acquired by the acquisitionunit to the other apparatus.

Furthermore, the acquisition unit may acquire a GPS coordinate of theother apparatus, and the transmission unit may transmit the spatialinformation including the GPS coordinate of the other apparatus acquiredby the acquisition unit to the other apparatus.

Furthermore, the information processing apparatus may include a storageunit for storing virtual information superimposed and displayed on thereal space image, and identification information of the virtualinformation, the virtual information being associated with theidentification information, and the acquisition unit may acquire aspatial coordinate of a display position of the virtual informationsuperimposed and displayed on the real space image, and the transmissionunit may transmit the spatial information including the spatialcoordinate of the display position of the virtual information to theother apparatus.

Furthermore, the acquisition unit may acquire identification informationof the virtual information, and the transmission unit may transmit thespatial information including the identification information of thevirtual information to the other apparatus together with a spatialcoordinate of a display position of the virtual information.

Furthermore, when the virtual information is associated with a GPScoordinate of the virtual information, the acquisition unit may acquirea spatial coordinate of a display position of the virtual information bycorrecting the GPS coordinate of the virtual information according to apositional relationship between the spatial coordinate of the otherapparatus and the spatial coordinate of its own apparatus.

Furthermore, the other apparatus may generate the spatial coordinatesystem, which is shared by the information processing apparatus, basedon the spatial information transmitted from the transmission unit.

Furthermore, when the acquisition unit acquires the spatial informationconstituting a spatial coordinate system generated by the otherapparatus, the coordinate system generation unit may generate thespatial coordinate system based on the spatial information acquired fromthe other apparatus.

According to another aspect of the present invention in order to achievethe above-described object, there is provided an information processingmethod for allowing one information processing apparatus to perform thesteps of: acquiring a real space image; generating a spatial coordinatesystem of the real space image acquired by the image acquisition unit;transmitting spatial information constituting the spatial coordinatesystem generated by the coordinate system generation unit to the otherapparatus sharing the spatial coordinate system; and generating thespatial coordinate system by the other apparatus having received thespatial information based on the spatial information, the spatialcoordinate system being shared by the information processing apparatus.

According to another aspect of the present invention in order to achievethe above-described object, there is provided a program for allowing acomputer to serve as an information processing apparatus, wherein theinformation processing apparatus includes: an image acquisition unit foracquiring a real space image; a coordinate system generation unit forgenerating a spatial coordinate system of the real space image acquiredby the image acquisition unit; and a transmission unit for transmittingspatial information constituting the spatial coordinate system generatedby the coordinate system generation unit to the other apparatus sharingthe spatial coordinate system.

According to another aspect of the present invention in order to achievethe above-described object, there is provided an information processingsystem including one information processing apparatus, wherein the oneinformation processing apparatus includes: an image acquisition unit foracquiring a real space image; a coordinate system generation unit forgenerating a spatial coordinate system of the real space image acquiredby the image acquisition unit; and a transmission unit for transmittingspatial information constituting the spatial coordinate system generatedby the coordinate system generation unit to another apparatus sharingthe spatial coordinate system, wherein the other apparatus connected tothe one information processing apparatus through a network includes acoordinate system generation unit for generating the spatial coordinatesystem, which is shared by the information processing apparatus, basedon the spatial information transmitted from the transmission unit, andthe spatial information includes a spatial coordinate of the otherapparatus, a spatial coordinate of its own apparatus, and an angle of avector connecting the spatial coordinate of the other apparatus to thespatial coordinate of its own apparatus.

Advantageous Effects of Invention

According to the present invention as described above, spatialinformation is shared among a plurality of apparatuses, so that it ispossible to display virtual information suitable for the position andposture of each apparatus.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram for explaining an outline of an informationprocessing system according to an embodiment of the present invention.

FIG. 2 is a diagram for explaining the outline of the informationprocessing system according to the same embodiment.

FIG. 3 is a block diagram showing a hardware configuration of theinformation processing apparatus according to the same embodiment.

FIG. 4 is a block diagram showing a functional configuration of aninformation processing apparatus according to a first embodiment of thepresent invention.

FIG. 5 is a timing chart showing a process of sharing the spatialinformation according to the same embodiment.

FIG. 6 is a timing chart showing a process of sharing the spatialinformation according to the same embodiment.

FIG. 7 is a flowchart showing details of an initialization processaccording to the same embodiment.

FIG. 8 is a flowchart showing details of a normal process according tothe same embodiment.

FIG. 9 is a flowchart showing details of a spatial information updateprocess according to the same embodiment.

DESCRIPTION OF EMBODIMENTS

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the appended drawings. Note that,in this specification and the drawings, elements that have substantiallythe same function and structure are denoted with the same referencesigns, and repeated explanation is omitted.

Further, the description of “preferred embodiments of the presentinvention” will be given in the following order.

[1] Object of present embodiment

[2] Outline of information processing system

[3] Hardware configuration of information processing apparatus

[4] First embodiment

[4-1] Functional configuration of information processing apparatus

[4-2] Details of operation of information processing apparatus

[5] Second embodiment

[5-1] Configuration of information processing apparatus

[6] Third embodiment

[6-1] Configuration of information processing apparatus

[1] Object of Present Embodiment

First, the object of the present embodiment will be described. Recently,technology of superimposing virtual information on real spaceinformation of a photographed image and the like and displayingsuperimposed information has been performed as a part of augmentedreality technology. For example, it is possible to read a predeterminedmark and the like included in a photographed image, superimpose virtualinformation corresponding to the mark on real space information, anddisplay the superimposed information. However, since the virtualinformation is displayed using the mark, the virtual information may notbe superimposed and displayed when the mark does not exist, and thevirtual information may not be shared among a plurality of users.

Furthermore, for example, technology capable of displaying virtualinformation according to the position and posture of each person byallowing position information and posture information to be shared amonga plurality of users has been disclosed. In this technology, each userterminal is provided with a reader for reading an ID tag, and an ID tagembedded in a floor is read by the reader, so that position informationof each user terminal is acquired.

However, in this technology, it is necessary to mount a device foracquiring the position information, resulting in an increase in the costfor installing a system. Furthermore, since the position information isshared among the plurality of users only when the ID tag is embedded inthe floor, an available place may be limited. In this regard,considering this point, an information processing system 1 according tothe embodiment of the present invention has been created. In accordancewith the information processing system 1 according to the presentembodiment, it is possible to allow virtual information to be shared byother apparatuses by detecting the position information of the otherapparatuses.

[2] Outline of Information Processing System

Next, the outline of the information processing system 1 will bedescribed with reference to FIGS. 1 and 2. FIG. 1 is a diagram forexplaining the outline of the information processing system 1. Theinformation processing system 1 includes a plurality of apparatuses suchas an information processing apparatus 10 and an information processingapparatus 20. In the following description, for the purpose ofconvenience, a case where the information processing system 1 includestwo apparatuses, that is, the information processing apparatus 10 andthe information processing apparatus 20, will be described.

The information processing apparatus 10 or the information processingapparatus 20, for example, can be exemplified as an informationprocessing terminal provided with a display device, such as a cellphone, a personal digital assistant (PDA), a portable game machine or asmall personal computer (PC). The information processing apparatus 10 orthe information processing apparatus 20 stores a plurality of pieces ofvirtual information superimposed and displayed on a real image. Eachpiece of virtual information is associated with identificationinformation for identifying the virtual information.

For example, as shown in FIG. 1, it is assumed that a user A captures animage of a predetermined space using the information processingapparatus 10 and a user B captures an image of a predetermined spaceusing the information processing apparatus 20. It is assumed that theuser A and the user B are positioned at different places. It is assumedthat the user A views virtual information 51 through the informationprocessing apparatus 10. Meanwhile, it is assumed that the user Bpositioned at a place different from that of the user A also views thevirtual information 51 through the information processing apparatus 20.

However, when spatial coordinate systems do not coincide with each otherbetween the information processing apparatus 10 and the informationprocessing apparatus 20, a difference may occur in the visibility ofvirtual information viewed from the positions thereof. When the spatialcoordinate systems are different from each other between the informationprocessing apparatus 10 and the information processing apparatus 20,virtual information superimposed on a real space image is in a statewhere each apparatus views the virtual information 51 from the front (adisplay example 53 of virtual information and a display example 55 ofvirtual information).

Furthermore, when the positions of the apparatuses cannot be accuratelydetected, since a difference occurs in viewing places of the user A andthe user B, the virtual information 55 may be virtual informationviewable only by the user B.

In this regard, in the present embodiment, the position information ofthe user A and the user B is accurately detected according to procedures1 to 3 of FIG. 2, so that the same virtual information can beappropriately displayed among a plurality of users. The procedures 1 to3 of FIG. 2 are as follows: procedure 1—detect the position informationof an information processing apparatus (a camera) of the user B in aspatial coordinate system from a captured image; procedure 2—notify theuser B the position information of the information processingapparatuses (the cameras) of the users A and B in the spatial coordinatesystem and an inclination angle of a coordinate system; and procedure3—the user B creates a spatial coordinate system equal to that of theuser A based on the notified position information of the informationprocessing apparatuses (the cameras) and inclination angle.

Herein, the inclination angle, for example, includes yaw, roll, pitch,and the like. Since the position information of the user A and the userB is recognized according to the procedures, it is possible to share thesame spatial coordinate system among a plurality of users. For example,as shown in FIG. 2, the same spatial coordinate system is shared betweenthe user A and the user B and the virtual information 51 is viewed bythe user A and the user B. In such a case, since the user A ispositioned at a place where the user A views virtual information fromthe front, the user A is in a state where the user A views virtualinformation from the front (the display example 53 of the virtualinformation). Meanwhile, since the user B is positioned at a place wherethe user B views virtual information from the back, the user B is in astate where the user B views virtual information from the back (thedisplay example 54 of the virtual information).

In this way, accurate position information of another apparatus includedin the real space image is detected, so that the same spatial coordinatesystem is shared, resulting in sharing a virtual space for superimposingvirtual information. As described above, the information processingapparatus 20 owned by the user B may be notified of spatial informationconstituting a spatial coordinate system by the information processingapparatus 10 owned by the user A to, or the information processingapparatus 10 may be notified thereof by the information processingapparatus 20.

Hereinafter, the configuration of the information processing apparatus10 that notifies another apparatus of the spatial information will bedescribed in detail. However, the information processing apparatus 20may have the configuration of the information processing apparatus 10.Furthermore, the information processing apparatus 10 may be configuredto generate a spatial coordinate system based on the spatial informationnotified of by the information processing apparatus 20.

[3] Hardware Configuration of Information Processing Apparatus

So far, the outline of the information processing system 1 has beendescribed. Next, the hardware configuration of the informationprocessing apparatus 10 will be described with reference to FIG. 3. InFIG. 3, while the hardware configuration of the information processingapparatus 10 will be described, since the information processingapparatus 20 has substantially the same hardware configuration as theinformation processing apparatus 10, detailed description thereof willbe omitted.

FIG. 3 is a block diagram showing the hardware configuration of theinformation processing apparatus 10. The information processingapparatus 10 includes a central processing unit (CPU) 101, a read onlymemory (ROM) 102, a random access memory (RAM) 103, a host bus 104, abridge 105, an external bus 106, an interface 107, an input device 108,an output device 110, a storage device (hard disk drive; HDD) 111, adrive 112, and a communication device 115.

The CPU 101 serves as an operation processing device and a controldevice and controls the entire operation of the information processingapparatus 10 according to various programs. Furthermore, the CPU 101 maybe a microprocessor. The ROM 102 stores programs, operation parametersand the like which are used by the CPU 101. The RAM 103 primarily storesprograms used for the execution of the CPU 101, parameters appropriatelychanging in the execution of the CPU 101, and the like. The CPU 101, theROM 102 and the RAM 103 are connected to one another through the hostbus 104 including a CPU bus and the like.

The host bus 104 is connected to the external bus 106 such as aperipheral component interconnect/interface (PCI) bus through the bridge105. In addition, the host bus 104, the bridge 105 and the external bus106 are not necessarily separated from one another. For example, thefunctions of the host bus 104, the bridge 105 and the external bus 106may be integrated into a single bus.

The input device 108, for example, includes an input means such as amouse, a keyboard, a touch panel, a button, a microphone, a switch or alever for allowing a user to input information, an input control circuitfor generating an input signal based on input from the user andoutputting the input signal to the CPU 101, and the like. The user ofthe information processing apparatus 10 can operate the input device108, thereby inputting various pieces of data to the informationprocessing apparatus 10 or instructing the information processingapparatus 10 to perform processing operations.

The output device 109, for example, includes a display device such as acathode ray tube (CRT) display device, a liquid crystal display (LCD)device, an organic light emitting display (OLED) device and a lamp, andan audio output device such as a speaker and a headphone. The outputdevice 109, for example, outputs reproduced content. In detail, thedisplay device displays various pieces of information such as reproducedvideo data in the form of text or images. Meanwhile, the audio outputdevice converts reproduced audio data and the like into audio andoutputs the audio.

The storage device 110 is a data storage device configured as an exampleof a storage unit of the information processing apparatus 10 accordingto the present embodiment, and may include a storage medium, a recordingdevice for recording data on the storage medium, a reading device forreading data from the storage medium, an erasing device for erasing datarecorded on the storage medium, and the like. The storage device 110,for example, includes an HDD. The storage device 110 drives a hard diskand stores programs executed by the CPU 101 and various pieces of data.Furthermore, the storage device 110 stores an item, an identificationnumber and the like which will be described later.

The drive 111 is a reader/writer for a storage medium and is embedded inthe information processing apparatus 10 or provided at an outer side ofthe information processing apparatus 10. The drive 111 reads informationrecorded on a removable storage medium 24 such as a magnetic disk, anoptical disc, a magneto-optical disc or a semiconductor memory which ismounted thereon, and outputs the information to the RAM 103.

The communication device 112, for example, is a communication interfaceincluding a communication device and the like for connection to acommunication network 50. Furthermore, the communication device 112 maybe a wireless local area network (LAN)-compatible communication device,a wireless USB-compatible communication device, or a wired communicationdevice for performing wired communication.

[4] First Embodiment

[4-1] Functional Configuration of Information Processing Apparatus

So far, the hardware configuration of the information processingapparatus 10 has been described. Next, the functional configuration ofthe information processing apparatus 10 according to the firstembodiment will be described with reference to FIG. 4. FIG. 4 is a blockdiagram showing the functional configuration of the informationprocessing apparatus 10 according to the present embodiment.

As shown in FIG. 4, the information processing apparatus 10 includes animage acquisition unit 152, an acquisition unit 154, a coordinate systemgeneration unit 156, an other terminal detection unit 158, a storageunit 160, an output image creation unit 162, an image output unit 164, atransmission unit 166 and the like.

The image acquisition unit 152 has a function of acquiring a real spaceimage. The real space image includes an image such as a landscapecaptured by an imaging apparatus (not shown). The imaging apparatus maybe integrally formed with the information processing apparatus 10, ormay be provided separately from the information processing apparatus 10.For example, an image captured by an imaging apparatus providedseparately from the information processing apparatus 10 may be stored ina storage device such as a memory card and acquired by the imageacquisition unit 152. The image acquisition unit 152 provides theacquired real space image to the coordinate system generation unit.

The coordinate system generation unit 156 has a function of generating aspatial coordinate system of the real space image acquired by the imageacquisition unit 152. As described later, when it is not possible toacquire spatial information from another apparatus included in the realspace image (also, simply referred to as another apparatus), thecoordinate system generation unit 156 generates an arbitrary spatialcoordinate system. Meanwhile, in the case of acquiring a spatialcoordinate from the other apparatus, the coordinate system generationunit 156 generates a spatial coordinate system equal to that of theother apparatus.

The spatial information is an element constituting a spatial coordinatesystem and includes a spatial coordinate of the other apparatus, aspatial coordinate of its own apparatus, an angle of a vector connectingthe spatial coordinate of the other apparatus to the spatial coordinateof its own apparatus, and the like. The acquisition unit 154 has afunction of acquiring elements constituting the spatial coordinatesystem. That is, the acquisition unit 154 acquires the spatialcoordinate of the other apparatus positioned at the spatial coordinategenerated by the coordinate system generation unit 156, the spatialcoordinate of its own apparatus, and the angle of the vector connectingthe spatial coordinate of the other apparatus to the spatial coordinateof its own apparatus.

Furthermore, the acquisition unit 154 may acquire a spatial coordinateof a display position of virtual information superimposed and displayedon a real space image. The spatial coordinate of the display position ofthe virtual information is also included in spatial information and isan element constituting a spatial coordinate system. The spatialinformation is transmitted to the other apparatus (the informationprocessing apparatus 20 and the like), which shares the spatialcoordinate system, by the transmission unit 166 to be described later.

Herein, the content of the spatial information transmitted from theinformation processing apparatus 10 to the other apparatus will bedescribed. The spatial information, for example, includes the followinginformation: (a) spatial coordinates in the spatial coordinate systemsof the information processing apparatus 10 and the other apparatus; (b)roll (a rotation angle) of the vector connecting the spatial coordinateof the information processing apparatus 10 to the spatial coordinate ofthe other apparatus; and (c) identification information (ID) of virtualinformation being displayed and the spatial coordinate of the displayposition.

A distance between its own apparatus and the other apparatus isrecognized from the information of (a), so that it is possible to decidethe scale of the spatial coordinate system. Furthermore, it is possibleto decide a rotation angle in an x direction, a y direction and a zdirection in the spatial coordinate system through the information of(b).

In addition, the rotation angle of (b) may be replaced by the roll ofanother vector of an X axis and the like in the spatial coordinatesystem. However, in a case where a replacement vector is orthogonal tothe vector connecting the spatial coordinate of the informationprocessing apparatus 10 to the spatial coordinate of the otherapparatus, even when the replacement vector rotates in the rolldirection of the vector connecting the spatial coordinate of theinformation processing apparatus 10 to the spatial coordinate of theother apparatus, the roll of the replacement vector has a constantvalue. Therefore, the roll of the vector connecting the spatialcoordinate of the information processing apparatus 10 to the spatialcoordinate of the other apparatus may not be uniquely specified by theroll value of the replacement vector.

In the case of defining the replacement vector of the vector connectingthe spatial coordinate of the information processing apparatus 10 to thespatial coordinate of the other apparatus and specifying the roll of thevector connecting the spatial coordinate of the information processingapparatus 10 to the spatial coordinate of the other apparatus using therotation angle (yaw, roll, pitch) of a spatial coordinate system, it isnecessary to use a vector with a rotation axis, which is not orthogonalto the vector connecting the spatial coordinate of the informationprocessing apparatus 10 to the spatial coordinate of the otherapparatus, and a rotation angle.

Consequently, in the case of using a replacement vector in order toallow unique spatial information to be shared among apparatuses, allvalues of yaw, roll and pitch of the replacement vector are included, sothat it is possible to avoid a problem that the rotation angle of avector cannot be uniquely specified.

Furthermore, azimuth angles of axes of the spatial coordinates of theinformation processing apparatus 10 and the other apparatus may befixedly decided in advance. For example, the y axis may be decided asthe direction directly above where a user stands. These fixed values maybe used as the roll value of the vector connecting the spatialcoordinate of the information processing apparatus 10 to the spatialcoordinate of the other apparatus. In such a case, in the same manner asabove, for example, when the information processing apparatus 10 and theother apparatus are positioned on the y axis, a problem may occur inwhich the x axis and the y axis cannot be decided. Thus, in such a case,it is necessary to decide the azimuths of the x axis and the z axis inadvance, in addition to the y axis.

In the storage unit 160, the virtual information superimposed on thereal space image is associated with identification information of thevirtual information for identifying the virtual information.

The other terminal detection unit 158 has a function of detecting animage of another terminal included in the real space image acquired bythe image acquisition unit 152 and specifying the position in thespatial coordinate system of the other terminal. The image of the otherterminal included in the real space image, for example, can be detectedusing a well-known image processing means for performing backgrounddifference and the like. Furthermore, the position of the other terminalin the spatial coordinate system, for example, can be specified using aposition detection method disclosed in Japanese Unexamined PatentApplication Publication No 2006-209334 and the like.

The output image creation unit 162 has a function of creating an outputimage by superimposing the virtual information stored in the storageunit 160 on the real space image captured by the imaging apparatus. Theoutput image creation unit 162 provides the created output image to theimage output unit 164.

The image output unit 164 has a function of outputting the output imageprovided by the output image creation unit 162 to a display (not shown)provided in the information processing apparatus 10.

The transmission unit 166 has a function of notifying the otherapparatus of the above-described spatial information. The transmissionunit 166 may regularly transmit the spatial information to the otherapparatus, or may transmit the spatial information when the spatialinformation is requested by the other apparatus.

The other apparatus having received the spatial information transmittedfrom the transmission unit 166 generates a spatial coordinate system,which is shared by the information processing apparatus 10, based on thetransmitted spatial information. The other apparatus generates thespatial coordinate system according to the spatial coordinates of theinformation processing apparatus 10 and the other apparatus, which areincluded in the transmitted spatial information, and the roll value ofthe vector connecting the spatial coordinate of the informationprocessing apparatus 10 to the spatial coordinate of the otherapparatus.

The other apparatus having received the spatial information decides thescales of the spatial coordinate systems from the spatial coordinates inthe spatial coordinate systems of the information processing apparatus10 and the other apparatus, which are included in the spatialcoordinates. Then, the other apparatus decides the rotation angles inthe x direction, the y direction and the z direction in the spatialcoordinate systems from the roll (the rotation angle) of the vectorconnecting the spatial coordinate of the information processingapparatus 10 to the spatial coordinate of the other apparatus. In thisway, the scales and axial directions of the spatial coordinate systemsof the information processing apparatus 10 and the other apparatuscoincide with each other.

In addition, the other apparatus superimposes the virtual information onthe generated spatial coordinate system based on the identificationinformation (ID) of the virtual information included in the spatialinformation and the spatial coordinate of the display position. In thisway, virtual information in the virtual space can be shared by theinformation processing apparatus 10 and the other apparatus. That is, asshown in FIG. 2, since the virtual information is superimposed in thesame spatial coordinate system, it is possible for each apparatus toappropriately view the virtual information according to the positionsand postures of the information processing apparatus 10 and the otherapparatus.

[4-2] Details of Operation of Information Processing Apparatus

So far, the functional configuration of the information processingapparatus 10 has been described. Next, details of the operation of theinformation processing apparatus 10 will be described in detail. Whendescribing the operation of the information processing apparatus 10,processes performed between the information processing apparatus 10 andthe information processing apparatus 20, which is the other apparatus,will be described.

FIGS. 5 to 9 are diagrams for explaining the details of the operation ofthe information processing apparatus 10. FIG. 5 is a timing chartshowing processes sharing the spatial information between theinformation processing apparatus 10 and the information processingapparatus 20. In FIG. 5, the information processing apparatus 10 startsto operate, and transmits a spatial information notification messageincluding the spatial information to the information processingapparatus 20 starting to operate after the information processingapparatus 10.

In detail, as shown in FIG. 5, the information processing apparatus 10starts to operate (S102) and performs an initialization process (S104).In the initialization process in step S104, a spatial coordinate systemis generated or spatial information is acquired. The initializationprocess will be described in detail later.

Then, the information processing apparatus 10 regularly performs anupdate process of spatial information while performing a normal process(S106). In the normal process, a real space image is acquired or anoutput image is created by superimposing virtual information on the realspace image. The normal process will be described in detail later.Furthermore, in the update process of the spatial information, when theinformation processing apparatus 10 or the information processingapparatus 20 has moved or the position of the virtual information hasmoved, the position information of each apparatus or the virtualinformation is reacquired. Also, the update process of the spatialinformation will be described in detail later.

The information processing apparatus 20 starts to operate (S108) andthen performs an initialization process (S110). The informationprocessing apparatus 20 receives the spatial information notificationmessage including the spatial information from the informationprocessing apparatus 10 in the process of performing the initializationprocess in step S110.

Furthermore, as shown in FIG. 6, when the spatial informationnotification message is requested by the information processingapparatus 20 having started to operate after the information processingapparatus 10 starts to operate, the spatial information notificationmessage may be transmitted. In detail, the information processingapparatus 10 starts to operate (S202) and then performs aninitialization process (S204). Then, while performing a normal process,the information processing apparatus 10 updates the spatial informationwhen a request is received from the information processing apparatus 20,and transmits the spatial information notification message including thespatial information to the information processing apparatus 20 (S206).

The information processing apparatus 20 starts to operate (S208) andthen performs an initialization process (S210). When performing theinitialization process in step S210, the information processingapparatus 20 transmits a spatial information request message to theinformation processing apparatus 10. Then, the information processingapparatus 20 receives the spatial information notification messageincluding the spatial information from the information processingapparatus 10 in the process of performing the initialization process.

Next, details of the initialization processes performed by theinformation processing apparatus 10 and the information processingapparatus 20 will be described. FIG. 7 is a flowchart showing thedetails of the initialization process. As shown in FIG. 7, theacquisition of spatial information of another information processingapparatus is first tried (S152). Then, it is determined whether or notspatial information of another terminal can be acquired in step S152(S154).

In step S154, when it is possible to acquire the spatial information ofthe other terminal, a spatial coordinate system coinciding with that ofthe other information processing apparatus is created (S156). In stepS156, the process of creating the spatial coordinate system coincidingwith that of the other information processing apparatus corresponds tothe initialization process performed by the information processingapparatus 20 in FIG. 5 or FIG. 6. That is, the information processingapparatus 20 acquires spatial information constituting the spatialcoordinate system created by the information processing apparatus 10having already started to operate and creates the spatial coordinatesystem.

In detail, the information processing apparatus 20 creates a spatialcoordinate system equal to that of the information processing apparatus10 from the spatial coordinates of the information processing apparatus10 and the information processing apparatus 20, which are included inthe spatial information, and the roll value of a vector connecting thespatial coordinate of the information processing apparatus 10 to thespatial coordinate of the information processing apparatus 20.Furthermore, the information processing apparatus 20 detects andspecifies the position of the information processing apparatus 10,thereby deciding the position of the information processing apparatus 10in a coordinate space viewed from the information processing apparatus20.

Meanwhile, when it is not possible to acquire the spatial information ofthe other terminal in step S154, a spatial coordinate system unique tothe information processing apparatus 10 is created (S158). In step S158,the process of creating the unique spatial coordinate system correspondsto the initialization process performed by the information processingapparatus 10 in FIG. 5 or FIG. 6.

In step S158, as described above, after creating the spatial coordinatesystem, the spatial coordinates of the information processing apparatus10 and the information processing apparatus 20, and the roll value ofthe vector connecting the spatial coordinate of the informationprocessing apparatus 10 to the spatial coordinate of the informationprocessing apparatus 20 are acquired. Then, the spatial informationincluding the spatial coordinates and the roll value of the vector istransmitted to the information processing apparatus 20.

So far, the initialization process has been described. In addition, whenthe information processing apparatus 20 performs the process of creatingthe spatial coordinate system coinciding with that of the informationprocessing apparatus 10, the spatial coordinate system may be createdthrough the position and posture of a camera, the position and postureof virtual information, the scale conversion and the like, not throughthe rotation, translation or scale conversion of a coordinate system.For example, the scale conversion of the coordinate system can beperformed by converting the arrangement position and size of virtualinformation to be arranged. Next, the normal process in the informationprocessing apparatus 10 will be described with reference to FIG. 8.First, the information processing apparatus 10 adjusts a frame rate andthe like of an imaging apparatus such as a camera to periodicallyacquire a real space image (S302). Then, the information processingapparatus 10 updates a spatial coordinate system (S304). The update ofthe spatial coordinate system in step S304 will be described in detaillater.

After updating the spatial coordinate system in step S304, theinformation processing apparatus 10 creates an output image bysuperimposing virtual information on the real space image according tothe movement of the spatial coordinate (S306). Then, the informationprocessing apparatus 10 outputs the output image created in step S306 toa display and the like (S308). In a case where another informationprocessing apparatus notifies of the spatial information, the type andposition of the virtual information superimposed on the real space imagecan be specified using identification information of the virtualinformation and the spatial coordinate which are included in thenotified spatial information.

Furthermore, in a case where the other information processing apparatusdoes not notify of the spatial information, arbitrary virtualinformation stored in the storage unit 160 may be selected andsuperimposed on the real space image. Furthermore, predetermined virtualinformation may be selected according to input from a user. In addition,in a case where virtual information and position information are storedafter being associated with each other, virtual information included ina predetermined range of the position information of the real spaceimage may be acquired from the storage unit 160 and superimposed on thereal space image.

Moreover, in a case where a processing load of the movement of a displayposition of the virtual information according to the update of thespatial coordinate system or the movement of the spatial coordinate isheavy, the update of the spatial coordinate system or the movement ofthe display position of the virtual information may be performed at apredetermined cycle once.

Next, the spatial information update process will be described in detailwith reference to FIG. 9. The following spatial information updateprocess is performed before the other information processing apparatusis notified of the spatial information, in order to allow the spatialcoordinate system to be shared by the other information processingapparatus in the above-described initialization process. FIG. 9 is aflowchart showing the details of the spatial information update processof the information processing apparatus 10. As shown in FIG. 9, a realspace image is acquired (S402) and then another terminal included in thereal space image is detected (S404). Next, the position in the spatialcoordinate system of the other terminal detected in step S404 isspecified (S406).

So far, the first embodiment has been described. According to the firstembodiment, when a plurality of information processing apparatuses arepresent, in order for a spatial coordinate system created by aninformation processing apparatus having already started to be shared byanother information processing apparatus, spatial informationconstituting the spatial coordinate system is transmitted to the otherinformation processing apparatus having started after the informationprocessing apparatus. Then, the other information processing measurehaving received the spatial information transmitted from the informationprocessing apparatus having already started generates a spatialcoordinate system, which is equal to that of the information processingapparatus having already started, based on the spatial information. Inthis way, mutual position information of the plurality of informationprocessing apparatuses is detected, so that a virtual space can beshared among the plurality of information processing apparatuses.

[5] Second Embodiment

[5-1] Configuration of Information Processing Apparatus

Next, the second embodiment will be described. In the second embodiment,the information processing apparatus 10 is provided with a positioninformation acquisition system such as a global positioning system(GPS). Similarly to the first embodiment, it is possible to detect thescale of a real space image from the positional relationship between theinformation processing apparatus 10 and another apparatus. Since theinformation processing apparatus 10 according to the present embodimenthas substantially the same functional configuration as the informationprocessing apparatus 10 according to the first embodiment, detaileddescription thereof will be omitted.

In the present embodiment, since position information of anotherapparatus is acquired by the GPS, a decision process of a spatialcoordinate using the GPS will be specifically described in detail. Theinformation processing apparatus 10 notifies a GPS coordinate of theother apparatus as spatial information of which the other apparatus isnotified. The other apparatus notified of its own GPS coordinatespecifies virtual information to be displayed or decides the displayposition of the virtual information based on the notified GPS coordinateand the posture information of the other apparatus detected by a 6-axissensor and the like.

The operation according to the present embodiment will be specificallydescribed in detail while focusing on the differences relative to thatof the first embodiment. First, the information processing apparatus 10specifies the position (position A) of another apparatus in a real spaceimage. The image of the other apparatus included in the real space imagecan be detected using a well-known image processing means for performingbackground difference and the like, similarly to the first embodiment.

Next, a distance (distance B) between the information processingapparatus 10 and the other apparatus is calculated. The method forcalculating the distance between the information processing apparatus 10and the other apparatus is the same as that of the first embodiment, andthus detailed description thereof will be omitted. Then, an azimuthangle (azimuth angle C) of the other apparatus is detected. The azimuthangle of the other apparatus can be detected using a 6-axis sensor andthe like based on the position information of the other apparatus.

Thereafter, GPS information translated by the distance B in thedirection of the azimuth angle C is calculated from a GPS coordinatevalue of the information processing apparatus 10 itself, and decided asa GPS coordinate of the other apparatus. The information processingapparatus 10 transmits the calculated GPS coordinate of the otherapparatus to the other apparatus. In this way, a spatial coordinate axisusing the GPS coordinate value of the information processing apparatus10 as a reference can be shared between the information processingapparatus 10 and the other apparatus.

Consequently, virtual information associated with the GPS coordinatevalue is superimposed at a position corresponding to the GPS coordinateof the virtual information in the spatial coordinate system.Furthermore, the information processing apparatus 10 may transmit itsown GPS coordinate value to the other apparatus. In such a case, theabove-described calculation process of the GPS coordinate value of theother apparatus, which is performed by the information processingapparatus 10, is allowed to be performed by the other apparatus, so thatit is possible to share the spatial coordinate axis therebetween.

According to the second embodiment, the value (latitude and longitude)of the GPS coordinate system is used as spatial information among aplurality of information processing apparatuses, resulting in sharingthe spatial coordinate system. In this way, for example, in a case wherethere is virtual information which is not displayed because it is faraway from one information processing apparatus while being adjacent toanother information processing apparatus, it is possible to displaydifferent virtual information between the information processingapparatuses.

[6] Third Embodiment

[6-1] Configuration of Information Processing Apparatus

So far, the second embodiment has been described. Next, the thirdembodiment will be described. In the third embodiment, there is aninformation processing apparatus 30, in addition to the informationprocessing apparatus 10 and the information processing apparatus 20 inthe first embodiment. That is, a case where a spatial coordinate systemis shared among three apparatuses will be described.

In the present embodiment, since the information processing apparatus10, the information processing apparatus 20 and the informationprocessing apparatus 30 have the same hardware configuration andfunctional configuration as those of the first embodiment, detaileddescription thereof will be omitted. In a case where there are threeapparatuses, a rotation angle is not necessary as spatial informationtransmitted from the information processing apparatus 10 to theinformation processing apparatus 20 or the information processingapparatus 30.

That is, the information processing apparatus 10 creates a spatialcoordinate system to acquire spatial coordinates of the informationprocessing apparatus 20 and the information processing apparatus 30.Here, as with the first embodiment, a rotation angle such as a rollvalue of a vector interconnecting apparatuses is not necessary as thespatial coordinate. The information processing apparatus 10 transmitsspatial information including the acquired spatial coordinates to theinformation processing apparatus 20.

The information processing apparatus 30 creates a spatial coordinatesystem equal to that created by the information processing apparatus 10or the information processing apparatus 20. In detail, the informationprocessing apparatus 30 creates the spatial coordinate system based onthe spatial information transmitted from the information processingapparatus 10 or the information processing apparatus 20. The thirdembodiment has been described above. According to the third embodiment,since it is not necessary to use azimuth information as spatialinformation, it is possible to reduce a traffic amount among informationprocessing apparatuses.

While the preferred embodiments of the present invention have beendescribed above with reference to the accompanying drawings, the presentinvention is not limited to the above examples, of course. A personskilled in the art may find various alternations and modificationswithin the scope of the appended claims, and it should be understoodthat they will naturally come under the technical scope of the presentinvention.

For example, in the above embodiments, the information processingapparatus 10 performs all processes. However, the present invention isnot limited thereto. For example, among the processes performed by theinformation processing apparatus 10, a process with a heavy load may beallowed to be performed by a server connected through a network. Forexample, a real space image captured by an imaging apparatus may betransmitted to the server from the information processing apparatus 10and analyzed by the server. In such a case, the server detects positioninformation of the information processing apparatus 10 and anotherapparatus from the real space image transmitted from the informationprocessing apparatus 10, and transmits the detection result to theinformation processing apparatus 10. Furthermore, the server may acquirethe position information and rotation angle of each informationprocessing apparatus, and transmit the acquired position information androtation angle to another apparatus through a network. In addition, thestorage unit 160 for storing virtual information may be arranged in aserver.

As described above, a process with a heavy load is performed by aserver, so that power consumption of the information processingapparatus 10 can be reduced and hardware resources necessary for theinformation processing apparatus 10 can be compressed. Furthermore, in acase where the storage unit 160 for storing virtual information isarranged in a server, the storage capacity of the information processingapparatus 10 can be compressed, and the same virtual information can beeasily used and managed among information processing apparatuses.

REFERENCE SIGNS LIST

-   -   10, 20, 30 information processing apparatus    -   152 image acquisition unit    -   154 acquisition unit    -   156 coordinate system generation unit    -   158 other terminal detection unit    -   160 storage unit    -   162 output image creation unit    -   164 image output unit    -   166 transmission unit

1. An information processing apparatus comprising: an image acquisitionunit for acquiring a real space image including an image of anotherapparatus; a coordinate system generation unit for generating a spatialcoordinate system of the real space image acquired by the imageacquisition unit; and a transmission unit for transmitting spatialinformation constituting the spatial coordinate system generated by thecoordinate system generation unit to the other apparatus sharing thespatial coordinate system; and an acquisition unit for acquiring thespatial coordinate of the other apparatus, a spatial coordinate of itsown apparatus, and an angle of a vector connecting the spatialcoordinate of the other apparatus to the spatial coordinate of its ownapparatus, wherein the transmission unit transmits the other spatialcoordinate, the spatial coordinate of its own apparatus, and the angleof the vector to the other apparatus as the spatial information.
 2. Theinformation processing apparatus according to claim 1, wherein theacquisition unit acquires a rotation angle of the spatial coordinatesystem from the angle of the vector connecting the spatial coordinate ofthe other apparatus to the spatial coordinate of its own apparatus, andthe transmission unit transmits the spatial information including therotation angle acquired by the acquisition unit to the other apparatus.3. The information processing apparatus according to claim 1, whereinthe acquisition unit acquires a GPS coordinate of the other apparatus,and the transmission unit transmits the spatial information includingthe GPS coordinate of the other apparatus acquired by the acquisitionunit to the other apparatus.
 4. The information processing apparatusaccording to claim 3, wherein the acquisition unit acquiresidentification information of the virtual information, and thetransmission unit transmits the spatial information including theidentification information of the virtual information to the otherapparatus together with a spatial coordinate of a display position ofthe virtual information.
 5. The information processing apparatusaccording to claim 3, wherein, when the virtual information isassociated with a GPS coordinate of the virtual information, theacquisition unit acquires a spatial coordinate of a display position ofthe virtual information by correcting the GPS coordinate of the virtualinformation according to a positional relationship between the spatialcoordinate of the other apparatus and the spatial coordinate of its ownapparatus.
 6. An information processing system, wherein one informationprocessing apparatus comprises: an image acquisition unit for acquiringa real space image including an image of another apparatus; a coordinatesystem generation unit for generating a spatial coordinate system of thereal space image acquired by the image acquisition unit; and atransmission unit for transmitting spatial information constituting thespatial coordinate system generated by the coordinate system generationunit to the other apparatus sharing the spatial coordinate system,wherein the other apparatus connected to the information processingapparatus through a network includes a coordinate system generation unitfor generating the spatial coordinate system, which is shared by theinformation processing apparatus, based on the spatial informationtransmitted from the transmission unit, and the spatial informationincludes a spatial coordinate of the other apparatus, a spatialcoordinate of its own apparatus, and an angle of a vector connecting thespatial coordinate of the other apparatus to the spatial coordinate ofits own apparatus.